package com.tj.collection.service.dto;

import com.fqgj.common.api.ResponseData;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * User: Karl
 * Date: 2019-08-27
 * Time: 13:45:37.177
 * TableDesc:催收单（催收单 对应交易的账单维度）
 */
public class CollectionOrderVo implements ResponseData, Serializable {

    private Long collectionOrderId;

    /**
     * 催收单号
     */
    private String collectionNo;
    /**
     * 交易号
     */
    private String tradeNo;
    /**
     * 账单号
     */
    private String orderBillNo;
    /**
     * 用户编号
     */
    private String userCode;
    /**
     * 账单批次号
     */
    private String batchNo;
    /**
     * 姓名
     */
    private String name;
    /**
     * 手机号
     */
    private String mobile;
    /**
     * 身份证号码
     */
    private String identityNo;
    /**
     * 渠道
     */
    private String channel;
    /**
     * 账单状态 0-未结清 1-已结清 2-已锁定
     */
    private Integer orderStatus;
    /**
     * 账单期数
     */
    private Integer period;
    /**
     * 总期数
     */
    private Integer totalPeriod;
    /**
     * 资金方 对应FundSideEnum
     */
    private String capitalCode;
    /**
     * 产品编码
     */
    private String productCode;
    /**
     * 产品类目
     */
    private String productType;
    /**
     * 借款金额（传标金额）
     */
    private BigDecimal realCapital;
    /**
     * 打款金额
     */
    private BigDecimal capital;
    /**
     * 到期应还
     */
    private BigDecimal expireAmount;
    /**
     * 已还金额
     */
    private BigDecimal paidAmount;
    /**
     * 抵扣金额
     */
    private BigDecimal deductAmount;
    /**
     * 利息
     */
    private BigDecimal interest;
    /**
     * 服务费
     */
    private BigDecimal lateFee;
    /**
     * 服务费
     */
    private BigDecimal serviceFee;
    /**
     * 逾期服务费
     */
    private BigDecimal lateServiceFee;
    /**
     * 逾期费率
     */
    private BigDecimal lateFeeRatio;
    /**
     * 省份标识
     */
    private Integer province;
    /**
     * 账单应还日
     */
    private Date repaymentDate;
    /**
     * 实际还款时间
     */
    private Date actualRepaymentDate;
    /**
     * 逾期天数
     */
    private Integer overdueDays;
    /**
     * 最终催回人
     */
    private Integer followId;
    /**
     * 最终催回人
     */
    private String followUp;
    /**
     * 锁单到期时间
     */
    private Date lockExpiration;
    /**
     * 交易类型 0-新增 1-复借
     */
    private Integer isNewAdd;
    /**
     * 分配模式 0-自动分配(默认) 1-手动分配
     */
    private Integer assignMode;
    /**
     * 用户语言
     */
    private String userLanguage;
    /**
     *
     */
    private Integer isDeleted;
    /**
     * 分成
     */
    private BigDecimal externalRate;

    private String createBy;

    public Long getCollectionOrderId() {
        return collectionOrderId;
    }

    public CollectionOrderVo setCollectionOrderId(Long collectionOrderId) {
        this.collectionOrderId = collectionOrderId;
        return this;
    }

    public String getCollectionNo() {
        return collectionNo;
    }

    public CollectionOrderVo setCollectionNo(String collectionNo) {
        this.collectionNo = collectionNo;
        return this;
    }

    public String getTradeNo() {
        return tradeNo;
    }

    public CollectionOrderVo setTradeNo(String tradeNo) {
        this.tradeNo = tradeNo;
        return this;
    }

    public String getOrderBillNo() {
        return orderBillNo;
    }

    public CollectionOrderVo setOrderBillNo(String orderBillNo) {
        this.orderBillNo = orderBillNo;
        return this;
    }

    public String getUserCode() {
        return userCode;
    }

    public CollectionOrderVo setUserCode(String userCode) {
        this.userCode = userCode;
        return this;
    }

    public String getBatchNo() {
        return batchNo;
    }

    public CollectionOrderVo setBatchNo(String batchNo) {
        this.batchNo = batchNo;
        return this;
    }

    public String getName() {
        return name;
    }

    public CollectionOrderVo setName(String name) {
        this.name = name;
        return this;
    }

    public String getMobile() {
        return mobile;
    }

    public CollectionOrderVo setMobile(String mobile) {
        this.mobile = mobile;
        return this;
    }

    public String getIdentityNo() {
        return identityNo;
    }

    public CollectionOrderVo setIdentityNo(String identityNo) {
        this.identityNo = identityNo;
        return this;
    }

    public String getChannel() {
        return channel;
    }

    public CollectionOrderVo setChannel(String channel) {
        this.channel = channel;
        return this;
    }

    public Integer getOrderStatus() {
        return orderStatus;
    }

    public CollectionOrderVo setOrderStatus(Integer orderStatus) {
        this.orderStatus = orderStatus;
        return this;
    }

    public Integer getPeriod() {
        return period;
    }

    public CollectionOrderVo setPeriod(Integer period) {
        this.period = period;
        return this;
    }

    public Integer getTotalPeriod() {
        return totalPeriod;
    }

    public CollectionOrderVo setTotalPeriod(Integer totalPeriod) {
        this.totalPeriod = totalPeriod;
        return this;
    }

    public String getCapitalCode() {
        return capitalCode;
    }

    public CollectionOrderVo setCapitalCode(String capitalCode) {
        this.capitalCode = capitalCode;
        return this;
    }

    public String getProductCode() {
        return productCode;
    }

    public CollectionOrderVo setProductCode(String productCode) {
        this.productCode = productCode;
        return this;
    }

    public String getProductType() {
        return productType;
    }

    public CollectionOrderVo setProductType(String productType) {
        this.productType = productType;
        return this;
    }

    public BigDecimal getRealCapital() {
        return realCapital;
    }

    public CollectionOrderVo setRealCapital(BigDecimal realCapital) {
        this.realCapital = realCapital;
        return this;
    }

    public BigDecimal getCapital() {
        return capital;
    }

    public CollectionOrderVo setCapital(BigDecimal capital) {
        this.capital = capital;
        return this;
    }

    public BigDecimal getExpireAmount() {
        return expireAmount;
    }

    public CollectionOrderVo setExpireAmount(BigDecimal expireAmount) {
        this.expireAmount = expireAmount;
        return this;
    }

    public BigDecimal getPaidAmount() {
        return paidAmount;
    }

    public CollectionOrderVo setPaidAmount(BigDecimal paidAmount) {
        this.paidAmount = paidAmount;
        return this;
    }

    public BigDecimal getDeductAmount() {
        return deductAmount;
    }

    public CollectionOrderVo setDeductAmount(BigDecimal deductAmount) {
        this.deductAmount = deductAmount;
        return this;
    }

    public BigDecimal getInterest() {
        return interest;
    }

    public CollectionOrderVo setInterest(BigDecimal interest) {
        this.interest = interest;
        return this;
    }

    public BigDecimal getLateFee() {
        return lateFee;
    }

    public CollectionOrderVo setLateFee(BigDecimal lateFee) {
        this.lateFee = lateFee;
        return this;
    }

    public BigDecimal getServiceFee() {
        return serviceFee;
    }

    public CollectionOrderVo setServiceFee(BigDecimal serviceFee) {
        this.serviceFee = serviceFee;
        return this;
    }

    public BigDecimal getLateServiceFee() {
        return lateServiceFee;
    }

    public CollectionOrderVo setLateServiceFee(BigDecimal lateServiceFee) {
        this.lateServiceFee = lateServiceFee;
        return this;
    }

    public BigDecimal getLateFeeRatio() {
        return lateFeeRatio;
    }

    public CollectionOrderVo setLateFeeRatio(BigDecimal lateFeeRatio) {
        this.lateFeeRatio = lateFeeRatio;
        return this;
    }

    public Integer getProvince() {
        return province;
    }

    public CollectionOrderVo setProvince(Integer province) {
        this.province = province;
        return this;
    }

    public Date getRepaymentDate() {
        return repaymentDate;
    }

    public CollectionOrderVo setRepaymentDate(Date repaymentDate) {
        this.repaymentDate = repaymentDate;
        return this;
    }

    public Date getActualRepaymentDate() {
        return actualRepaymentDate;
    }

    public CollectionOrderVo setActualRepaymentDate(Date actualRepaymentDate) {
        this.actualRepaymentDate = actualRepaymentDate;
        return this;
    }

    public Integer getOverdueDays() {
        return overdueDays;
    }

    public CollectionOrderVo setOverdueDays(Integer overdueDays) {
        this.overdueDays = overdueDays;
        return this;
    }

    public Integer getFollowId() {
        return followId;
    }

    public CollectionOrderVo setFollowId(Integer followId) {
        this.followId = followId;
        return this;
    }

    public String getFollowUp() {
        return followUp;
    }

    public CollectionOrderVo setFollowUp(String followUp) {
        this.followUp = followUp;
        return this;
    }

    public Date getLockExpiration() {
        return lockExpiration;
    }

    public CollectionOrderVo setLockExpiration(Date lockExpiration) {
        this.lockExpiration = lockExpiration;
        return this;
    }

    public Integer getIsNewAdd() {
        return isNewAdd;
    }

    public CollectionOrderVo setIsNewAdd(Integer isNewAdd) {
        this.isNewAdd = isNewAdd;
        return this;
    }

    public Integer getAssignMode() {
        return assignMode;
    }

    public CollectionOrderVo setAssignMode(Integer assignMode) {
        this.assignMode = assignMode;
        return this;
    }

    public String getUserLanguage() {
        return userLanguage;
    }

    public CollectionOrderVo setUserLanguage(String userLanguage) {
        this.userLanguage = userLanguage;
        return this;
    }

    public Integer getIsDeleted() {
        return isDeleted;
    }

    public CollectionOrderVo setIsDeleted(Integer isDeleted) {
        this.isDeleted = isDeleted;
        return this;
    }

    public BigDecimal getExternalRate() {
        return externalRate;
    }

    public CollectionOrderVo setExternalRate(BigDecimal externalRate) {
        this.externalRate = externalRate;
        return this;
    }

    public String getCreateBy() {
        return createBy;
    }

    public CollectionOrderVo setCreateBy(String createBy) {
        this.createBy = createBy;
        return this;
    }
}
